00001 00002 #ifndef __TIMER_H_ 00003 #define __TIMER_H_ 00004 00027 #include "peonstdafx.h" 00028 00029 namespace peon 00030 { 00047 class PEONMAIN_API Timer 00048 { 00049 protected: 00051 bool m_bUsingQPF; 00052 00054 bool m_bTimerStopped; 00055 00057 LONGLONG m_llQPFTicksPerSec; 00058 00059 LONGLONG m_llStopTime; 00060 LONGLONG m_llLastElapsedTime; 00061 LONGLONG m_llBaseTime; 00062 00063 public: 00067 Timer(); 00068 00072 ~Timer(); 00073 00077 void reset(); 00078 00082 void start(); 00083 00087 void stop(); 00088 00093 void advance(); 00094 00099 float getAbsoluteTime(); 00100 00105 float getTime(); 00106 00112 float getElapsedTime(); 00113 00118 bool isStopped(); 00119 00120 }; 00121 } 00122 00123 #endif